今天來介紹Kubernetes主要組件,以官網 Kubernetes Cluster圖示來做講解,
etcd: 以 key-value 儲存管理 cluster 所需資訊並作備份,當 Master 故障時可透過 etcd 還原 K8s 的狀態,是一種基於 Raft Consensus Algorithm 所開發的分散式儲存系統。
API Server: cluster 溝通橋梁,所有請求皆會透過 API Server,它管理叢集的REST API接口,包括認證、授權,例如從 Command Line 下 kubectl
指令就把指令送到這裡。
Scheduler: 負責監聽新建立但尚未被分配的 Pod,根據資源規定、限制等條件協調出最適合放置的 Node。
Controller Manager & Cloud Controller Manager: 包含一系列 controllers,是 Kubernetes 的控制中心,確保 Cluster 處於預期中的狀態
Node (或稱 Worker Node): 資源提供者,最小硬體單位,一個 Node 可以對應到一台實體機或虛擬機,其中由三個元件所組成:
kubelet: Node 的管理員,根據提供的 PodSpec,管理其上所有 Pods 與 Containers,確保其正常運行,並負責與 Control Panel 的 API Server 溝通,回報該 Node 資源使用情形。
kube-proxy: 負責維護 Node 的 iptables,實現 Kubernetes Service 概念,將流量負載均衡到其後Pods。
Container Runtime: 負責管理容器執行與其生命週期,Kubernetes 支持 containerd、CRI-O 等。
今日先到這兒~
好喔 越壓越晚了:)
The greatest glory in living, lies not in never falling, but in rising every time we fall.
共勉之